1. Field of the Invention
This invention relates generally to integrated circuits, and more particularly to methods for automated testing of alternating current characteristics of integrated circuit device chips.
2. Description of the Related Art
Testing integrated circuits that are ultimately fabricated onto silicon chips has over the years increased in complexity as the demand has grown, and continues to grow for faster and more densely integrated silicon chips. In an effort to automate the design and fabrication of circuit designs, designers commonly implement hardware descriptive languages (HDL), such as Verilog, to functionally define the characteristics of the design. The Verilog code is then capable of being synthesized in order to generate what is known as a xe2x80x9cnetlist.xe2x80x9d A netlist is essentially a list of xe2x80x9cnets,xe2x80x9d which specify components (know as xe2x80x9ccellsxe2x80x9d) and their interconnections which are designed to meet a circuit design""s performance constraints. The xe2x80x9cnetlistxe2x80x9d therefore defines the connectivity between pins of the various cells of an integrated circuit design. To fabricate the silicon version of the design, well known xe2x80x9cplace and routexe2x80x9d software tools that make use of the netlist data to design the physical layout, including transistor locations and interconnect wiring.
When testing of the digital model, various test vectors are designed in order to test the integrated circuit""s response under custom stimulation. For example, if the integrated circuit is a SCSI host adapter chip, the test vectors will simulate the response of the SCSI host adapter chip as if it were actually connected to a host computer and some kind of peripheral device were connected to the chip. In a typical test environment, a test bench that includes a multitude of different tests are used to complete a thorough testing of the chip. However, running the test vectors of the test bench will only ensure that the computer simulated model of the chip design will work, and not the actual physical chip in its silicon form.
To test a silicon chip 12 after it has been packaged, it is inserted into a loadboard 14 that is part of a test station 10, which is shown in FIG. 1A. Although the model of the chip design was already tested using the test vectors of the test bench, these test vectors are not capable of being implemented in the test station 10 without substantial modifications, to take into account the differences between a xe2x80x9cmodelxe2x80x9d and a xe2x80x9cphysicalxe2x80x9d design. In the prior art, the conversion of a test model test vector into test vectors that can actually be run on the test station 10 required a very laborious process that was unfortunately prone to computer computational errors as well as human errors. Of course, if any type of error is introduced during the generation of the test vectors that will ultimately be run on the silicon chip 12, the testing results generated by the test station 10 would indicate that errors exist with the part, when in fact, the part functions properly. This predicament is of course quite costly, because fabrication plants would necessarily have to postpone release of a chip until the test station indicated that the part worked as intended.
As mentioned above, the prior art test vector generation methodology was quite laborious, which in many circumstances was exacerbated by the complexity of the tests and size of the chip being tested. The methodology required having a test engineer manually type up the commands necessary to subsequently generate a xe2x80x9cprint-on-changexe2x80x9d file once executed using Verilog. Defining the commands for generating the print-on-change file includes, for example, typing in the output enable information for each pin, defining pin wires, setting up special over-rides for power-on reset pins, etc. At this point, the print-on-change file would then be generated using a Verilog program, which in turn uses the commands generated by the test engineer.
In addition to manually producing these commands, a separate parameter file having timing information is separately produced in a manual typing-in fashion by the engineer. The generated print-on-change file and the parameter file are then processed by a program that is configured to produce a test file, which is commonly referred to as an AVF file. However, the production of the AVF is very computationally intensive because the generated print-on-change file can be quite large. The size of the print-on-change file grows to very large sizes because every time a pin in the design changes states, a line of the print-on-change file is dumped. Thus, the more pins in the design, more CPU time is required to convert the print-on-change file into a usable AVF file. In some cases where the test is very large or complex, the host computer processing the print-on-change file is known to crash or in some cases lock-up due to the shear voluminous amount of data.
Unfortunately, as mentioned above, the generated AVF file may have defects, such as timing errors, which may translate into errors being reported by the test station 10. The problem here is that the test station 10 will stimulate the part differently than the stimulation designed for the digital version. This problem therefore presents a very time consuming test and re-test of the part by the test station 10. When re-testing is performed, many modifications to the parameter file, containing timing information, are performed in an effort to debug errors with the AVF file. Although some parts are in fact defective in some way, the test engineer is still commonly required to re-run the tests to determine whether the errors are due to a defective AVF file or the physical device.
In view of the foregoing, there is a need for a method that reduces test vector generation cycle time, as well as increases the accuracy of test vector generation and simulation processes. Another need exists for a method for automating the generation of the initial AVF file, the initial timing file, and performing alternating current parameter testing without having to do initial testing on the physical integrated circuit design circuit.
Broadly speaking, the present invention fills these needs by providing techniques for analyzing alternating current characteristics of a model of an integrated circuit design before being tested on a physical integrated circuit part. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium. Several inventive embodiments of the present invention are described below.
In one embodiment, a computer implemented method for testing alternating current characteristics of a computer model of an integrated circuit design is disclosed. The method includes: (a) supplying an AVF file and a DUT file of the integrated circuit design; (b) generating a test file containing data of a parameter of the integrated circuit design; (c) parsing through a chip file of the integrated circuit design in order to extract netlist information, external signal names, bus definitions, and pull-up information; (d) parsing through the DUT file to extract input/output information, channel number information, and timing information; (e) splitting data of the AVF file into input vector data and output vector data; (f) generating an environment file that assists in simulating a physical test station; and (g) running the environment file through Verilog using the input vector data and the output vector data in order to generate a log that indicates alternating current test results for the parameter data.
In another embodiment, a computer readable media containing program instructions for testing alternating current characteristics of a computer model of an integrated circuit design that includes an associated AVF file and an associated DUT file is disclosed. The computer readable media includes: (a) program instructions for generating a test file containing data of a parameter of the integrated circuit design; (b) program instructions for parsing through a chip file of the integrated circuit design in order to extract netlist information, external signal names, bus definitions, and pull-up information; (c) program instructions for parsing through the DUT file to extract input/output information, channel number information, and timing information; (d) program instructions for splitting data of the AVF file into input vector data and output vector data; (e) program instructions for generating an environment file that assists in simulating a physical test station; and (f) program instructions for running the environment file using the input vector data and the output vector data in order to generate a log that indicates alternating current test results for the parameter data.
In yet another embodiment, a computer readable media containing program instructions for testing alternating current characteristics of a computer model of an integrated circuit design that includes an associated AVF file and an associated DUT file is disclosed. The computer readable media includes: (a) program instructions for generating a test file containing data of a parameter of the integrated circuit design, the test file being generated based upon whether a pair of signals are either both inputs, or one is an input and another is an output; (b) program instructions for parsing through a chip file of the integrated circuit design in order to extract netlist information, external signal names, bus definitions, and pull-up information; (c) program instructions for parsing through the DUT file to extract input/output information, channel number information, and timing information; (d) program instructions for splitting data of the AVF file into input vector data and output vector data; (e) program instructions for generating an environment file that assists in simulating a physical test station; and (f) program instructions for running the environment file using the input vector data and the output vector data in order to generate a log that indicates alternating current test results for the parameter data.
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.